The present invention relates to programmable controllers which are employed to control the operation of one or more pieces of manufacturing equipment, and more particularly to modules which interface the programmable controller to external devices using a serial communication link.
Programmable controllers, such as the one described in U.S. Pat. No. 4,858,101, typically are connected to industrial equipment, such as assembly lines and machine tools, to sequentially operate the equipment in accordance with a stored control program. The control program comprises instructions which are read out in rapid sequence and executed to examine the condition of selected sensing devices on the controlled equipment, or to energize or deenergize selected operating devices on the controlled equipment contingent upon the status of one or more of the examined sensing devices.
Many types of sensing devices have been devised for detecting various conditions on the controlled equipment and providing an input signal to the programmable controller. The simplest of these types of devices are switches which provide a DC or an AC signal to the programmable controller. Other devices, such as temperature or pressure sensors provide a four to twenty milliampere signal having a magnitude which corresponds to the magnitude of the condition being sensed. Similarly with respect to the operating devices, the programmable controller must be capable of providing a variety of electrical output signals either DC, AC or analog current signals for driving the different types of operating devices on the controlled equipment. In order to provide a programmable controller capable of being interfaced to a wide variety of industrial equipment, modularized controllers have been developed which allow the use of different combinations of input and output modules depending upon the requirements of the specific industrial equipment being controlled.
As industrial processes became more complex, a more sophisticated sensing and control system was required. In many instances, the simple voltage or current inputs and outputs of the programmable controller were insufficient to communicate the data to and from the equipment. In many instances, more sophisticated sensors were devised to provide detailed data about the individual workpieces being handled by the controlled equipment. For example, automobile assembly lines use radio frequency transponder tags mounted either on the automobile or the assembly line carriage for the automobile. As the automobile passes a work station, a transceiver mounted on the work station interrogates the RF transponder tag to acquire data about the specific automobile being processed. Such data, for example, identifies the model of car as well as the options and features to be incorporated. Once the transceiver has interrogated the transponder tag, the data regarding the automobile is provided to a programmable controller at the work station over a serial communication link.
Various types of these sophisticated sensing and operating devices, manufactured by different companies and utilizing different communication protocols may have to be interfaced to the same programmable controller. Although these devices often use standard public-domain serial communication protocols, their manufacturers have also utilized proprietary protocols. In order to provide a programmable controller with the greatest degree of flexibility to connect a wide variety of sensing and operating devices, the programmable controller must be configurable to communicate using of a variety of serial protocols. In addition, a given programmable controller in a specific installation may have to communicate using a number of different protocols simultaneously.
A large assembly line may be controlled by a number of programmable controllers. In which case, a serial communication network interconnects the programmable controllers allowing them to exchange data regarding the operation of the assembly line. A host computer is often coupled to the network to receive assembly line status information from the programmable controllers and issue commands to them.